char *p[]={"3697","2584"}
来源:百度知道 编辑:UC知道 时间:2024/04/30 04:23:57
main()
{
char *p[]={“3697”,”2584”};
int i,j; long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!='\0')
{ if((p[i][j]-‘0')%2)num=10*num+p[i][j]-‘0';
j+=2;
} }
printf(“%d\n”num);
答案是39
拜托谁可以帮我解释下哈~
{
char *p[]={“3697”,”2584”};
int i,j; long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!='\0')
{ if((p[i][j]-‘0')%2)num=10*num+p[i][j]-‘0';
j+=2;
} }
printf(“%d\n”num);
答案是39
拜托谁可以帮我解释下哈~
main()
{
char *p[]={“3697”,“2584”};
int i,j; long num=0;
for(i=0;i<2;i++)
{
j=0;
while(p[i][j]!='\0')
{
if((p[i][j]-‘0')%2)//不是偶数,记录下来
num=10*num+p[i][j]-‘0'; //放到最右侧
j+=2;
}
}
printf(“%d\n”num);
}
第1遍:i=0,j=0;p[i][j]=3;
第2遍:i=0,j=2;p[i][j]=9;
第3遍:i=0,j=4;p[i][j]='\0';
第4遍:i=0,j=0;p[i][j]=2;
第5遍:i=0,j=2;p[i][j]=8;
第6遍:i=0,j=4;p[i][j]='\0';
由于3,9不是偶数,2,8是偶数;而不是偶数才记录,所以是39